package com.tjsinfo.tjsoa.articles.bo;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;

import com.tjsinfo.tjsoa.Dao.IHibernateDao;
import com.tjsinfo.tjsoa.Dao.IQbcDao;
//import com.tjsinfo.articles.vo.TArticlesUser;
import com.tjsinfo.tjsoa.system.vo.TSystemUser;

/**
 * 用户BO
 * @author 天津市电子计算机研究所
 *
 */
	
public class TArticlesUserManageImpl  implements TArticlesUserManage{
	private IQbcDao qbcDao;
	private IHibernateDao hibernateDao;

	public IHibernateDao getHibernateDao() {
		return hibernateDao;
	}

	public void setHibernateDao(IHibernateDao hibernateDao) {
		this.hibernateDao = hibernateDao;
	}

	public IQbcDao getQbcDao() {
		return qbcDao;
	}

	public void setQbcDao(IQbcDao qbcDao) {
		this.qbcDao = qbcDao;
	}
	
	/**
	 * 根据登录名和密码取得用户
	 * @param loginName 登录名	 * @param password 密码
	 * @return
	 */
//	public TSystemUser login(String loginName,String password) {
//		// TODO Auto-generated method stub
//		DetachedCriteria criteria = DetachedCriteria.forClass(TSystemUser.class);
//		criteria.add(Restrictions.eq("loginName", loginName)).add(Restrictions.eq("password", password));
//		if (qbcDao.getCriteria(criteria).size()>0) {
//			return (TSystemUser) qbcDao.getCriteria(criteria).iterator().next();
//		}
//		return  null;
//	}
	
	/**
	 * 是否是相同的用户名
	 * @param loginName
	 * @return
	 */
//	public boolean isSameUserName(String loginName) {
//		// TODO Auto-generated method stub
//		DetachedCriteria criteria = DetachedCriteria.forClass(TSystemUser.class);
//		criteria.add(Restrictions.eq("loginName", loginName));
//		if (qbcDao.getCriteria(criteria).size()>0) {
//			return true;
//		}
//		return  false;
//	}
	
	/**
	 * 根据uuid取得用户
	 * @param uuid
	 * @return
	 */
	public TSystemUser findById(String uuid) {
		// TODO Auto-generated method stub
		DetachedCriteria criteria = DetachedCriteria.forClass(TSystemUser.class);
		criteria.add(Restrictions.eq("uuid", uuid));
		return  (TSystemUser) qbcDao.getCriteria(criteria).iterator().next();
	}
	
	/**
	 * 根据id取得用户
	 * @param uuid
	 * @return
	 */
	public TSystemUser findById(Integer id) {
		// TODO Auto-generated method stub
		DetachedCriteria criteria = DetachedCriteria.forClass(TSystemUser.class);
		criteria.add(Restrictions.eq("id", id));
		if(qbcDao.getCriteria(criteria).size()>0){
			return  (TSystemUser) qbcDao.getCriteria(criteria).iterator().next();
		}else{
			return null;
		}		
	}
	
	/**
	 * 取得全部用户
	 * @param uuid
	 * @return
	 */
//	public List<TSystemUser> findAll() {
//		// TODO Auto-generated method stub
//		DetachedCriteria criteria = DetachedCriteria.forClass(TSystemUser.class);
//		return qbcDao.getCriteria(criteria);
//	}
	
	/**
	 * 删除指定uuid的用户
	 * @param uuid
	 * @return
	 */
//	public void deleteUser(String uuid) {
//		// TODO Auto-generated method stub
//		TSystemUser user = (TSystemUser) hibernateDao.findByProperty(TSystemUser.class, "uuid", uuid).iterator().next();
//		hibernateDao.delete(user);
//	}
//	
	/**
	 * 追加用户
	 * @param user
	 */
//	public void add(TSystemUser user) {
//		// TODO Auto-generated method stub
//		hibernateDao.save(user);
//	}
//	
//	/**
//	 * 更新用户
//	 * @param user
//	 */
//	public void update(TSystemUser user) {
//		// TODO Auto-generated method stub
//		hibernateDao.update(user);
//	}
}
